In a NAND flash memory (hereinafter referred to as a NAND memory), information is stored by means of the amounts of charge retained in the floating gates of memory cells. The threshold voltage is determined according to the amount of charge retained in the floating gate of the memory cell. The threshold voltage refers to a voltage at which the transistor of the memory cell becomes ON (current starts flowing). That is, when a voltage higher than or equal to the threshold voltage is applied to the memory cell, current flows, and when a voltage lower than the threshold voltage is applied, current does not flow. In the NAND memory, a plurality of threshold voltage ranges (areas) are defined with one data value being assigned to each area, and electrons are injected so that the threshold voltage of the memory cell is within the area corresponding to one of the data values. By this means, each memory cell can store a data value.
In conventional NAND memories, the number of threshold voltage areas of the memory cell that are distinguishable is a power of two. Hence, increasing the number of data values storable per memory cell from that of a memory cell capable of, e.g., three-bit storage per memory cell results in the use of a memory cell capable of four-bit storage. In this case, the number of areas increases greatly from 8 to 16.